home *** CD-ROM | disk | FTP | other *** search
- function loadImage(mc, node, extrapath)
- {
- var _loc3_ = extrapath;
- if(_loc3_ == null)
- {
- _loc3_ = "";
- }
- var strDefaultPath = Tardis.ASSETS_FOLDER + "images/" + Tardis.ActiveSection.id + "/";
- var _loc1_ = node.firstChild.nodeValue;
- var _loc2_ = node.attributes.path;
- if(_loc2_ != null)
- {
- _loc1_ = _loc2_ + _loc1_;
- }
- else
- {
- _loc1_ = strDefaultPath + _loc3_ + _loc1_;
- }
- if(strPathPrefix == null)
- {
- strPathPrefix = "";
- }
- mc.loadMovie(strPathPrefix + _loc1_);
- }
- function init()
- {
- parseContent(nodeData);
- createPages();
- fillContent();
- onComplete();
- _visible = true;
- }
- function loadSampleContent(strName)
- {
- var _loc1_ = this;
- _loc1_.xmlContent = new XML();
- _loc1_.xmlContent.ignoreWhite = true;
- _loc1_.xmlContent.onLoad = function(success)
- {
- if(success)
- {
- parseContent(this.firstChild);
- createPages();
- fillContent();
- }
- };
- _loc1_.xmlContent.load("sample_xml/" + strName + ".xml");
- }
- function parseBoldTags(str)
- {
- var _loc1_ = str;
- var _loc2_ = _loc1_.indexOf("<b>");
- if(_loc2_ != -1)
- {
- var _loc3_ = _loc1_.indexOf("</b>");
- var word = _loc1_.substring(_loc2_ + 3,_loc3_);
- var beginning = _loc1_.substring(0,_loc2_);
- var end = _loc1_.substring(_loc3_ + 4);
- return beginning + "<font face=\'FranklinGotURWTDem\'>" + word + "</font>" + parseBoldTags(end);
- }
- return _loc1_;
- }
- function createPages()
- {
- var _loc1_ = 0;
- while(_loc1_ < arrPages.length)
- {
- var _loc2_ = _loc1_ != 0 ? mPage_0.duplicateMovieClip("mPage_" + _loc1_,_loc1_) : mPage_0;
- _loc2_._visible = false;
- _loc1_ = _loc1_ + 1;
- }
- }
- function fillContent()
- {
- var strID = Tardis.ActiveSection.id;
- SECTION_COLOR = Tardis.Colors.getHex(strID);
- SECTION_COLOR50 = Tardis.Colors.getHex(strID + "50");
- DEFAULT_COLOR = Tardis.Colors.getHex("default");
- DEFAULT_COLOR50 = Tardis.Colors.getHex("default50");
- strDEFAULT_COLOR50 = Tardis.Colors.getString("default50");
- var _loc3_ = new Array();
- var _loc1_ = 0;
- while(_loc1_ < arrPages.length)
- {
- var _loc2_ = this["mPage_" + _loc1_];
- _loc2_.gotoAndStop("layout_" + arrPages[_loc1_].type);
- _loc2_.headline = arrPages[_loc1_].headline;
- _loc2_.quote = arrPages[_loc1_].quote;
- _loc2_.arrImages = arrPages[_loc1_].arrImages;
- _loc2_.defaultVideoNumber = arrPages[_loc1_].defaultVideoNumber;
- if(_loc2_.txtBody_0 != undefined)
- {
- _loc3_.push("mPage_" + _loc1_ + ".txtBody_0");
- }
- if(_loc2_.txtBody_1 != undefined)
- {
- _loc3_.push("mPage_" + _loc1_ + ".txtBody_1");
- }
- _loc1_ = _loc1_ + 1;
- }
- var boldedCopy = parseBoldTags(strCopy);
- flowText(boldedCopy,_loc3_);
- mPageNav.setColourUp(DEFAULT_COLOR50);
- mPageNav.setColourDown(DEFAULT_COLOR);
- mPageNav.setTotalPages(arrPages.length);
- mPageNav.navigateTo(1);
- _visible = true;
- }
- function parseContent(xmlContent)
- {
- var arrNodes = xmlContent.childNodes;
- this.arrPages = new Array();
- this.arrVideos = new Array();
- var i = 0;
- while(i < arrNodes.length)
- {
- if(arrNodes[i].nodeName == "copy")
- {
- this.strCopy = arrNodes[i].firstChild.nodeValue;
- }
- else if(arrNodes[i].nodeName == "page")
- {
- var page = {type:arrNodes[i].attributes.type,arrImages:new Array()};
- var _loc3_ = arrNodes[i].childNodes;
- var _loc1_ = 0;
- while(_loc1_ < _loc3_.length)
- {
- if(_loc3_[_loc1_].nodeName == "image")
- {
- var image = {};
- for(var _loc2_ in _loc3_[_loc1_].childNodes)
- {
- image[_loc3_[_loc1_].childNodes[_loc2_].nodeName] = _loc3_[_loc1_].childNodes[_loc2_].firstChild.nodeValue;
- }
- if(_loc3_[_loc1_].byName("image").attributes.fullscreen == "true")
- {
- image.hasFullscreen = true;
- }
- else
- {
- image.hasFullscreen = false;
- }
- if(image.image != "" && image.image != null)
- {
- page.arrImages.push(image);
- }
- }
- else if(_loc3_[_loc1_].nodeName == "video")
- {
- page.defaultVideoNumber = _loc3_[_loc1_].firstChild.nodeValue;
- }
- else
- {
- page[_loc3_[_loc1_].nodeName] = _loc3_[_loc1_].firstChild.nodeValue;
- }
- _loc1_ = _loc1_ + 1;
- }
- arrPages.push(page);
- }
- else if(arrNodes[i].nodeName == "videos")
- {
- _loc3_ = arrNodes[i].childNodes;
- _loc1_ = 0;
- while(_loc1_ < _loc3_.length)
- {
- var vid = new Object();
- vid.nodeData = _loc3_[_loc1_];
- _loc2_ = 0;
- while(_loc2_ < _loc3_[_loc1_].childNodes.length)
- {
- vid[_loc3_[_loc1_].childNodes[_loc2_].nodeName] = _loc3_[_loc1_].childNodes[_loc2_].firstChild.nodeValue;
- _loc2_ = _loc2_ + 1;
- }
- arrVideos[_loc3_[_loc1_].attributes.id] = vid;
- _loc1_ = _loc1_ + 1;
- }
- }
- i++;
- }
- }
- function parseUpCaps(str)
- {
- var _loc1_ = str;
- var _loc2_ = _loc1_.indexOf("<upcap>");
- if(_loc2_ != -1)
- {
- var _loc3_ = _loc1_.indexOf("</upcap>");
- var word = _loc1_.substring(_loc2_ + 7,_loc3_);
- var beginning = _loc1_.substring(0,_loc2_);
- var end = _loc1_.substring(_loc3_ + 8);
- return beginning + "<TEXTFORMAT LEADING=\'-2\'><font size=\'24\' face=\'FranklinNeoExtBolCon\' color=\'#999999\'>" + word + "</font></TEXTFORMAT> " + end;
- }
- return _loc1_;
- }
- function navigateTo(pageNumber)
- {
- var _loc3_ = this;
- mVideo.shutDownRemotely();
- var id = pageNumber - 1;
- var _loc1_ = 0;
- while(_loc1_ < arrPages.length)
- {
- _loc3_["mPage_" + _loc1_]._visible = false;
- _loc1_ = _loc1_ + 1;
- }
- var _loc2_ = _loc3_["mPage_" + id];
- if(_loc2_.arrImages.length)
- {
- loadImages(_loc2_);
- }
- if(_loc2_.defaultVideoNumber != null)
- {
- playVideo(_loc2_.defaultVideoNumber);
- _loc2_.txtNote_0.htmlText = "";
- }
- if(arrPages[id].type == "12")
- {
- _loc2_.txtQuote._y = _loc2_.txtHeadline._y + _loc2_.txtHeadline.textHeight + 12;
- }
- _loc2_.txtBody_0.textColor = DEFAULT_COLOR;
- _loc2_.txtBody_1.textColor = DEFAULT_COLOR;
- _loc2_.txtHeadline.textColor = SECTION_COLOR;
- _loc2_.txtQuote.textColor = SECTION_COLOR50;
- _loc2_.txtNote_0.textColor = DEFAULT_COLOR;
- _loc2_._visible = true;
- currPage = _loc2_;
- if(arrPages[id].type == "10")
- {
- mPageNav._visible = false;
- }
- else
- {
- mPageNav._visible = true;
- }
- mPageNav.setCurrentPage(pageNumber);
- }
- function loadImages(mPage)
- {
- var _loc2_ = mPage;
- var _loc3_ = Tardis.ASSETS_FOLDER + "images/" + Tardis.ActiveSection.id + "/";
- var _loc1_ = 0;
- while(_loc1_ < _loc2_.arrImages.length)
- {
- _loc2_["mImage_" + _loc1_].loadMovie(_loc3_ + _loc2_.arrImages[_loc1_].image);
- _loc2_["txtCaption_" + _loc1_].htmlText = _loc2_.arrImages[_loc1_].caption;
- _loc2_["txtCaption_" + _loc1_].textColor = DEFAULT_COLOR;
- if(_loc2_.arrImages[_loc1_].hasFullscreen)
- {
- _loc2_.mc_controls._visible = true;
- }
- else
- {
- _loc2_.mc_controls._visible = false;
- }
- _loc2_["txtNote_" + _loc1_].htmlText = _loc2_.arrImages[_loc1_].note;
- _loc2_["txtNote_" + _loc1_].textColor = DEFAULT_COLOR;
- _loc1_ = _loc1_ + 1;
- }
- }
- function playVideo(videoId)
- {
- this.currVideoId = videoId;
- mVideo.shutDownRemotely();
- this.onVideoModuleLoaded = function(mVideo)
- {
- var _loc1_ = mVideo;
- _loc1_.nodeData = arrVideos[currVideoId].nodeData;
- _loc1_.init();
- currPage.txtCaption_0.htmlText = arrVideos[currVideoId].title;
- currPage.txtCaption_0.textColor = Tardis.Colors.getHex("default");
- };
- mVideo.loadMovie(Tardis.ENGINE_FOLDER + "modules/video.swf");
- }
- function searchandreplace(the_string, search_string, replace_string, occurrences, backward)
- {
- var _loc1_ = the_string;
- var _loc3_ = search_string;
- if(_loc3_ == replace_string)
- {
- return _loc1_;
- }
- var found = 0;
- if(backward == true)
- {
- var _loc2_ = _loc1_.lastIndexOf(_loc3_);
- while(_loc2_ >= 0)
- {
- found++;
- var start_string = _loc1_.substr(0,_loc2_);
- var end_string = _loc1_.substr(_loc2_ + _loc3_.length);
- _loc1_ = start_string + replace_string + end_string;
- _loc2_ = _loc1_.lastIndexOf(_loc3_,start_string.length);
- if(found == occurrences)
- {
- _loc2_ = -1;
- }
- }
- }
- else
- {
- _loc2_ = _loc1_.indexOf(_loc3_);
- while(_loc2_ >= 0)
- {
- found++;
- var start_string = _loc1_.substr(0,_loc2_);
- var end_string = _loc1_.substr(_loc2_ + _loc3_.length);
- _loc1_ = start_string + replace_string + end_string;
- _loc2_ = _loc1_.indexOf(_loc3_,_loc2_ + replace_string.length);
- if(found == occurrences)
- {
- _loc2_ = -1;
- }
- }
- }
- return _loc1_;
- }
- function tagStack(aString)
- {
- var error = false;
- var tagArray = [];
- var validTags = ["a","b","i","u","font","p"];
- var tStringArray = aString.split("<");
- var _loc3_ = 1;
- while(_loc3_ < tStringArray.length)
- {
- var _loc1_ = "<" + tStringArray[_loc3_].slice(0,tStringArray[_loc3_].indexOf(">") + 1);
- var shortForm = _loc1_.indexOf(" ") <= -1 ? _loc1_ : _loc1_.slice(0,_loc1_.indexOf(" ")) + ">";
- var tagOnly = shortForm.indexOf("/") <= -1 ? shortForm.slice(1,-1) : shortForm.slice(2,-1);
- isValidTag = false;
- for(var j in validTags)
- {
- if(validTags[j] == tagOnly)
- {
- isValidTag = true;
- break;
- }
- }
- if(isValidTag)
- {
- if(_loc1_.charAt(1) == "/")
- {
- var _loc2_ = tagArray.pop();
- lastTagShort = _loc2_.indexOf(" ") <= -1 ? _loc2_ : _loc2_.slice(0,_loc2_.indexOf(" ")) + ">";
- lastTagShort = lastTagShort.indexOf("/") <= -1 ? lastTagShort.slice(1,-1) : lastTagShort.slice(2,-1);
- if(lastTagShort != tagOnly)
- {
- error = true;
- break;
- }
- }
- else
- {
- tagArray.push(_loc1_);
- }
- }
- _loc3_ = _loc3_ + 1;
- }
- if(!error)
- {
- return tagArray;
- }
- return -1;
- }
- function fixText(textString)
- {
- var _loc3_ = textString;
- var _loc1_ = searchandreplace(_loc3_,String.fromCharCode(13)," <br>");
- _loc1_ = searchandreplace(_loc3_,"\n"," <br>");
- _loc1_ = searchandreplace(_loc3_,"\r"," <br>");
- _loc1_ = searchandreplace(_loc1_,String.fromCharCode(9)," ");
- var _loc2_ = _loc1_.split(" ");
- return _loc2_;
- }
- function flowText(textString, arrayOfTextFields)
- {
- var textArray = fixText(textString);
- var currentWordIndex = 0;
- var currentFieldIndex = 0;
- var maxWordIndex = textArray.length;
- var timeArray = [];
- var leftOverTags = "";
- var i;
- var lastWord = 0;
- for(i in arrayOfTextFields)
- {
- eval(arrayOfTextFields[i]).html = false;
- eval(arrayOfTextFields[i]).text = "";
- eval(arrayOfTextFields[i]).htmlText = "";
- }
- do
- {
- if(currentWordIndex < maxWordIndex)
- {
- var field = eval(arrayOfTextFields[currentFieldIndex]);
- var tempString = "";
- field.html = true;
- if(textArray[currentWordIndex].indexOf("<br>") != -1)
- {
- textArray[currentWordIndex] = searchandreplace(textArray[currentWordIndex],"<br>","");
- }
- i = currentWordIndex;
- while(i < maxWordIndex)
- {
- var newWord = textArray[i];
- newWord = newWord != "<br>" ? newWord + " " : newWord;
- tempString += newWord;
- field.htmlText = "";
- field.htmlText = tempString;
- if(field.maxscroll > 1)
- {
- lastWord = i;
- break;
- }
- i++;
- }
- }
- else
- {
- return true;
- }
- field.htmlText = "";
- var endAt = i;
- field.htmlText = leftOverTags + textArray.slice(currentWordIndex,endAt).join(" ");
- leftOverTags = tagStack(textArray.slice(0,endAt).join(" ")).join("");
- currentWordIndex = endAt;
- currentFieldIndex++;
- }
- while(currentFieldIndex <= arrayOfTextFields.length);
-
- var leftOverText = textArray.slice(lastWord,textArray.length).join(" ");
- return leftOverText;
- }
- _visible = false;
- this.onUnload = function()
- {
- mVideo.shutDownRemotely();
- Tardis.overlay.active = false;
- };
-